<?php


namespace app\index\model;
use think\Exception;
use think\Model;
use think\Db;

class Base extends Model
{
//    protected $autoWriteTimestamp = true;
//    protected $createTime = 'add_time';
//    protected $updateTime = 'update_time';
    /**
     *获得项目内容
     * @param string $table 表名
     * @param string $field 字段名
     * @param string $where 条件
     * @param int $page 一页显示条数
     * @param int $page_size 第xxx页
     * @return
     */
    public static function project($table,$field = '',$where = '',$page = 1,$page_size = 10,$order=[]){
        try{
            return Db::name($table)->fetchSql(false)->field($field)->where($where)->order($order)->page($page,$page_size)->select();
        }catch(Exception $e){
            return $e;
        }
    }
    /**
     *获得项目内容(没有分页)
     * @param string $table 表名
     * @param string $field 字段名
     * @param string $where 条件
     * @param int $page 一页显示条数
     * @param int $page_size 第xxx页
     * @return
     */
    public static function projects($table,$field,$where){
        try{
            return Db::name($table)->field($field)->where($where)->order(['add_time'=>'desc','id'=>'desc'])->select();
        }catch(Exception $e){
            return $e->getMessage();
        }
    }

    /**
     *获得项目详细内容
     * @param string $table,
     * @param string $field
     * @param int $id
     */
    public static function particular($table,$field = '',$id){
        try{
            return Db::name($table)->field($field)->where(['id'=>$id])->find();
        }catch(Exception $e){
            return $e;
        }
    }

    /**
     *获得项目详细内容多条件
     * @param  $table string
     * @param  $field string
     * @param int $id
     */
    public static function particulars($table,$field = '',$where){
        try{
            return Db::name($table)->field($field)->where($where)->find();
        }catch(Exception $e){
            return $e;
        }
    }

    /**
     *得到项目条数
     * @param string $table,
     * @param string $where
     */
    public static function total($table,$where = ''){
        $data = Db::name($table)->where($where)->count();
        return $data;
    }

    /**
     *添加项目
     * @param string $table 表名
     * @param array $data 插入的数据集合
     * @return int $id 传回的插入行id
     */
    public static function addProject($table,$data){
        $id = Db::name($table)->insertGetId($data);
        return $id;
    }

    /**
     *修改项目
     * @param
     * @return
     */
    public static function editProject($table,$where,$data){
       try{
           return Db::name($table)->fetchSql(false)->where($where)->update($data);
       }catch(Exception $e){
           return $e->getMessage();
       }
    }

    /**
     *获取值
     * @param string $table 表名
     * @param array $table 条件
     * @param array $table 条件
     * @return
     */
    public static function getKey($table,$where,$key){
//        try{
            return Db::name($table)->where($where)->value($key);
//        }catch(Exception $e){
//            return $e->getMessage();
//        }
    }

    /**
     *得到当日成交
     * @param string $field 字段名
     * @param string $where 条件
     * @param int $page 分页
     * @param int $page_size 分页数
     * @return
     */
    public function getListTrading($field='',$where = '',$page,$page_size){
        try{
            return Db::name('day_trading')->field($field)->where($where)->page($page,$page_size)->order(['fixture_date'=>'desc'])->select();
        }catch(Exception $e){
            return $e->getMessage();
        }
    }
}